Page({
  data: {
    inputVisible: false,
    newCategoryName: '', // 用于存储用户输入的新分类名称
    categories: [], // 用于存储全局数据中的 categories 数组
    rows: [], // 用于存储分割后的 categories 数组
  },
  onLoad: function() {
    const app = getApp();
    const categories = app.globalData.categories;
    // 检查 categories 是否为 undefined 或 null
    if (categories && categories.length > 0) {
      const rows = this.updateRows(categories);
      this.setData({
        categories: categories,
        rows: rows
      });
    }
  },
  onAddTap: function() {
    // 弹出添加新分类的弹窗 
    wx.showModal({
      title: '添加新分类',
      content: '请输入新分类的名称',
      editable: true, // 设置为可编辑，这样用户可以直接在弹窗中输入文本
      success: (res) => {
        if (res.confirm) {
          // 用户点击了确定，获取输入的文本
          const newCategoryName = res.content;
          if (newCategoryName) {
            const app = getApp();
            app.globalData.categories.push({
              name: newCategoryName,
              icon: '/staic/0 (2).png',
              onTap: function() { console.log('点击了新分类'); }
            });
            this.setData({
              categories: app.globalData.categories,
              rows: this.updateRows() // 更新 rows 数据
          });
          wx.setStorage({
            key: 'categories',
            data: app.globalData.categories,
            success: function(res) {
              console.log('保存成功');
            },
            fail: function(res) {
              console.log('保存失败');
          
            }
          });
        }
      }
    }
  });
  },
  
  onEditTap: function() {
    // 弹出编辑新分类的弹窗
    wx.showModal({
      title: '编辑新分类',
      content: '请输入新分类的名称',
      editable: true, // 设置为可编辑，这样用户可以直接在弹窗中输入文本
      success: (res) => {
        if (res.confirm) {
          // 用户点击了确定，获取输入的文本
          const editCategoryName = res.content;
          if (editCategoryName) {
            const app = getApp();
            const categories = app.globalData.categories;
            // 这里假设我们想要更新第一个分类的名称
            categories[0].name = editCategoryName;
            this.setData({
              categories: categories,
              rows: this.updateRows() // 更新 rows 数据
            // 编辑新分类的逻辑...
          });
       wx.setStorage({
            key: 'categories',
            data: app.globalData.categories,
            success: function(res) {
              console.log('保存成功');
            },
            fail: function(res) {
              console.log('保存失败');
          
            }
          });
        } 
      }
    }
    })
  },
  onDeleteTap: function(e) {
    // 删除分类的逻辑
    const index = e.currentTarget.dataset.index;
    const app = getApp();
    const categories = app.globalData.categories;
    categories.splice(index, 1);
    this.setData({
      categories: categories,
      rows: this.updateRows() // 更新 rows 数据
    });
    // 保存更新后的分类名称到本地缓存
    wx.setStorage({
      key: 'unique',
      data: categories,
      success: function(res) {
        console.log('保存成功');
      },
      fail: function(res) {
        console.log('保存失败');
      }
    });
  },
   updateRows: function() {
    const app = getApp();
    const categories = app.globalData.categories;
    const rows = [];
    for (let i = 0; i < categories.length; i += 4) {
      rows.push(categories.slice(i, i + 4));
    }
    return rows;
  },
  onInput: function(e) {
    // 处理输入事件，保存输入值
    this.setData({
      newCategoryName: e.detail.value
    });
  },
  onConfirm: function(e) {
    // 处理确认事件，添加新分类
    const newCategoryName = this.data.newCategoryName;
    if (newCategoryName) {
      // 添加新分类的逻辑...
      this.setData({
        inputVisible: false,
        newCategoryName: ''
      });
    }
  },
  onEditInput: function(e) {
    // 处理输入事件，保存输入值
    this.setData({
      newCategoryName: e.detail.value
    });
  },
  onEditConfirm: function(e) {
    // 处理确认事件，编辑新分类
    const editCategoryName = this.data.newCategoryName;
    if (editCategoryName) {
      // 编辑新分类的逻辑...
      this.setData({
        inputVisible: false,
        newCategoryName: ''
      });
    }
  },
}); 